Communications on the Internet are based on the transmission of data packets.
The data packets can be sent in different modes, including:                Unicast transmission: the packet of data is sent to a single host identified by an unicast IP address specified inside the packet;        Broadcast transmission: the packet of data is sent to all the hosts that are located on the same network or sub-network and that are identified by an IP broadcast address; and        Multicast transmission: the packet of data, is sent to a group composed of an arbitrary set of hosts identified by an IP multicast address.        
Relating to the multicast transmission, it is noted that when the same packet of data has to be sent to more than one host, multicast transmission allows greater efficiency to be achieved as the number of copies of the packet in transit across a given network is minimized.
The multicast transmission is effected by using a so-called Multicast Router that is able to correctly route data packets with an IP multicast address to a set of hosts, which constitute a Multicast Group (MG).
Multicast interaction between hosts and routers are defined by protocols that allow hosts to request to join or leave multicast groups. In particular IGMP (Internet Group Management Protocol), standardized by IETF is used.
More specifically, three versions of the IGMP protocol have been standardized, namely IGMPv1 (IETF RFC 1112), IGMPv2 (IETF RFC 2236)ed IGMPv3 (IETF RFC 3376).
The first version of the protocol, namely IGMPv1, provides only two types of messages:                Membership report (or join); and        Membership query.        
The hosts send a membership report specifying the multicast address of the group they are interested in joining.
When a Multicast Router receives a membership report for a group, it starts to forward the multicast traffic addressed to that group to the interface from which the membership report arrived.
Group Membership queries are periodically generated by the routers to check the presence of hosts still interested in receiving packets addressed to a given Multicast Group on the interfaces where the router was forwarding the multicast packets for that group.
Hosts that receive a membership query should send membership reports for all the groups in which they are interested. When a timeout expires without receiving membership group reports from a given interface and a given multicast group, the router stops forwarding packets related the Multicast Group on the interface.
The protocol IGMPv1 does not permit a membership query for a specific group.
To avoid useless consumption of bandwidth, a first host that receives a membership query waits for a random time before sending the membership report for the groups in which it is interested. If another host sends a membership report for a group in which it is interested during the waiting period, the first host doesn't send the membership report message for that group.
To leave a Multicast Group the hosts just avoid to reply to membership queries arriving from the Multicast Routers.
IGMPv2 protocol supports the following message types:                membership report;        membership query; and        leave message.        
This protocol substantially provides, in addition to the same features of the above described IGMPv1 protocol, the capabilities to allow a host to explicitly notify its intention to leave a Multicast Group (leave message). Moreover, it is possible to send a membership query to a specific Multicast Group. Also, inside an IGMPv2 membership query, the hosts are informed of maximum time in which the router needs to receive the membership group to maintain active the group on a specific interface.
The IGMPv3 protocol, provides the source specific multicast option that allows the host to specify in the membership report message the source(s) for multicast traffic.
It is possible to specify the sources in:                exclusive mode: the host provides a list of sources from which it does not wish to receive traffic; and        inclusive mode: the host indicates a list of sources from which it wishes to receive traffic.        
The Multicast Routers store the list of authorized sources to decide whether or not to route a multicast packet on a specific network segment.
US 2003/0147392 describes a process wherein, in order to make the client host capable of learning an accounting information or an authentication failure information, the accounting information or the authentication failure reason is notified from the routing device to the client host, by adding an information regarding the accounting or an information regarding a reason for the authentication failure of the client host, to a packet of a protocol based on IGMP or MLD which is a multicast control packet between the client host and the router device.
US 2005/0080901 describes a method and apparatus for authorizing Multicast Group membership based on network policies, such as machine and user identities. An end station communicates with a LAN switch over a LAN link. The LAN switch inhibits the end station from joining any Multicast Group before the end station or a user on the end station becomes authenticated. Once the end station or a user on the end station becomes authenticated, the LAN switch authorizes the end station to join one or more Multicast Groups in conformance with a Multicast Group authorization specified for the end station or the user. The LAN switch enforces the Multicast Group authorization attendant to snooping of IGMP membership reports received from the end station or processing of IGMP join messages received from a router.